System.Collections.ObjectModel.ObservableCollection<T> sınıfı
Bu makale, bu API'nin başvuru belgelerine ek açıklamalar sağlar.
sınıfı, ObservableCollection<T> öğeler eklendiğinde veya kaldırıldığında ya da listenin tamamı yenilendiğinde bildirim sağlayan dinamik veri koleksiyonunu temsil eder.
Çoğu durumda, birlikte çalıştığınız veriler bir nesne koleksiyonudur. Örneğin, veri bağlamada yaygın bir senaryo , ListViewgibi bir ItemsControlListBoxkullanmak veya TreeView bir kayıt koleksiyonunu görüntülemektir.
IEnumerable arabirimini uygulayan herhangi bir koleksiyon üzerinde numaralandırabilirsiniz. Ancak, koleksiyondaki eklemelerin veya silmelerin kullanıcı arabirimini otomatik olarak güncelleştirmesi için dinamik bağlamalar ayarlamak üzere koleksiyonun INotifyCollectionChanged arabirimini uygulaması gerekir. Bu arabirim, temel alınan koleksiyon değiştiğinde CollectionChanged tetiklenmesi gereken olayı kullanıma sunar.
ObservableCollection<T> sınıfı, arabirimini uygulayan INotifyCollectionChanged bir veri toplama türüdür.
Kendi koleksiyonunuzu uygulamadan önce, List<T>, Collection<T> ve BindingList<T> gibi mevcut koleksiyon sınıflarından birini veya ObservableCollection<T> kullanmayı göz önünde bulundurun. Gelişmiş bir senaryonuz varsa ve kendi koleksiyonunuzu uygulamak istiyorsanız, dizin tarafından tek tek erişilebilen genel olmayan bir nesne koleksiyonu sağlayan kullanmayı göz önünde bulundurun IList. IList Uygulama, veri bağlama altyapısıyla en iyi performansı sağlar.
Not
Veri değerlerinin kaynak nesnelerden bağlama hedeflerine aktarılmasını tam olarak desteklemek için, koleksiyonunuzdaki bağlanabilir özellikleri destekleyen her nesnenin arabirim gibi INotifyPropertyChanged uygun bir özellik değiştirilmiş bildirim mekanizması uygulaması gerekir.
Daha fazla bilgi için Bkz. Veri Bağlamaya Genel Bakış'ta "Koleksiyonlara Bağlama".
XAML kullanımıyla ilgili notlar
ObservableCollection<T> 3.0 ve 3.5 sürümlerinde Windows Presentation Foundation'da (WPF) XAML nesne öğesi olarak kullanılabilir. Ancak, kullanımın önemli sınırlamaları vardır.
ObservableCollection<T> kök öğe olmalıdır, çünkü genelin
x:TypeArguments
ObservableCollection<T> kısıtlanmış türünü belirtmek için kullanılması gereken öznitelik yalnızca kök öğenin nesne öğesinde desteklenir.Bir
x:Class
öznitelik bildirmeniz gerekir (bu, bu XAML dosyası için derleme eyleminin veya XAML'yi derleyen başka bir derleme eylemi olmasıPage
gerektiğini gerektirir).ObservableCollection<T> başlangıçta varsayılan XML ad alanına eşlenmeyen bir ad alanında ve derlemededir. Ad alanı ve derleme için bir ön ek eşlemeniz ve ardından bu ön eki için ObservableCollection<T>nesne öğesi etiketinde kullanmanız gerekir.
Bir uygulamada XAML'deki özellikleri kullanmanın ObservableCollection<T> daha kolay bir yolu, öğesinden ObservableCollection<T>türetilen ve bunu belirli bir türle kısıtlayan kendi genel olmayan özel koleksiyon sınıfınızı bildirmektir. Ardından bu sınıfı içeren derlemeyi eşleyin ve XAML'nizde bir nesne öğesi olarak başvurun.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin